package com.maiji.cloud.service;

import com.baomidou.mybatisplus.service.IService;
import com.maiji.cloud.entities.community.ComActivity;
import com.maiji.cloud.request.BaseInputDto;
import com.maiji.cloud.request.community.ComActMidInputDto;
import com.maiji.cloud.request.community.ComSearchInputDto;
import com.maiji.cloud.response.BaseOutPutDto;
import com.maiji.cloud.response.community.ComActivityDto;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ${author}
 * @since 2019-06-19
 */

public interface ComActService extends IService<ComActivity> {

    /**
     * 添加活动
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<String> addAct(@RequestBody BaseInputDto<ComActivityDto> inputDto);

    /**
     * 添加活动列表
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<String> addActs(@RequestBody BaseInputDto<List<ComActivityDto>> inputDto);

    /**
     * 添加热门活动
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<String> addHotAct(@RequestBody BaseInputDto<ComActivityDto>inputDto);

    /**
     * 添加热门活动列表
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<String> addHotActs(@RequestBody BaseInputDto<List<ComActivityDto>>inputDto);


    /**
     * 删除活动
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<String> deleteAct(@RequestBody BaseInputDto<ComActivityDto>inputDto);

    /**
     * 修改活动
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<String> updateAct(@RequestBody BaseInputDto<ComActivityDto>inputDto);


    /**
     * 绑定动态到多个活动
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<String> addMsgActs(@RequestBody BaseInputDto<List<ComActMidInputDto>> inputDto);

    /**
     * 搜索活动
     * @param inputDto
     * @return
     */
    public BaseOutPutDto<List<ComActivityDto>> searchActs(@RequestBody BaseInputDto<ComSearchInputDto> inputDto);


    /**
     * 获取热门活动列表
     * @return
     */
    public BaseOutPutDto<List<ComActivityDto>> hotActs();

    public BaseOutPutDto<List<ComActivityDto>> essActs();

}
